Abstract: Software testing is as old as the hills in the history of digital computers. The testing of software is an important means of assessing the software to determine its quality. Since testing typically consumes 40 - 50% of development efforts, and consumes more effort for systems that require higher levels of reliability, it is a significant part of the software engineering. Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. Testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements. A common scenario in software testing is therefore that test data is generated, and a tester manually adds test oracles. As this is a difficult task, it is important to produce small yet representative test sets, and this representativeness is typically measured using code coverage. There is, however, a fundamental problem with the common approach of targeting one coverage goal at a time: Coverage goals are not independent, not equally difficult, and sometimes infeasible – the result of test generation is therefore dependent on the order of coverage goals and how many of them are feasible. To overcome this problem, whole test suites are evolved with the aim of covering all coverage goals at the same time, while keeping the total size as small as possible. However, the new paradigm works well; the test suites were not optimal. So, we propose a new tool with a novel paradigm to give optimality. This tool will have several advantages, as for example its effectiveness is not affected by the number of infeasible targets in the code. We are also described about the implementation of the tool using Eclipse IDE, java, Java Swing.

Keywords: Software Engineering, Software Testing, Infeasible goal, Testing Techniques, Automated Testing Tools.